#ifndef MAZEGAME_H
#define MAZEGAME_H

class Wall;
class Room;
class Door;
class Maze;

class MazeGame
{
public:
    Maze* createMaze();

    // factory methods:
    virtual Maze* makeMaze() const;
    virtual Room* makeRoom(int n) const;
    virtual Wall* makeWall() const;
    virtual Door* makeDoor(Room *r1, Room *r2) const;
};

#endif // MAZEGAME_H
